1
Pelajaran 7: Pembelajaran Transfer – Memanfaatkan Pengetahuan
EvoClass-AI002Lecture 7
00:00

Selamat datang di Pelajaran 7, di mana kita memperkenalkan Pembelajaran Transfer. Teknik ini melibatkan penggunaan kembali model pembelajaran mendalam yang telah dilatih pada dataset besar dan umum (seperti ImageNet) serta menyesuaikannya untuk menyelesaikan tugas baru dan spesifik (seperti tantangan FoodVision kami). Ini sangat penting untuk mencapai hasil terbaik secara efisien, terutama ketika dataset berlabel terbatas.

1. Kekuatan Bobot yang Sudah Dilatih Sebelumnya

Jaringan saraf dalam belajar fitur secara hierarkis. Lapisan bawah mempelajari konsep dasar (tepi, sudut, tekstur), sementara lapisan yang lebih dalam menggabungkannya menjadi konsep kompleks (mata, roda, objek tertentu). Inti dari wawasan ini adalah bahwa fitur dasar yang dipelajari di awal bersifat secara universal dapat diterapkan di sebagian besar bidang visual.

Komponen Pembelajaran Transfer

  • Tugas Sumber: Pelatihan pada 14 juta gambar dan 1000 kategori (misalnya, ImageNet).
  • Tugas Tujuan: Menyesuaikan bobot untuk mengklasifikasikan dataset yang jauh lebih kecil (misalnya, kelas FoodVision kami).
  • Komponen yang Dimanfaatkan: Sebagian besar parameter jaringan—lapisan ekstraksi fitur—digunakan kembali secara langsung.
Keuntungan Efisiensi
Pembelajaran transfer secara signifikan mengurangi dua hambatan sumber daya utama: Biaya Komputasi (Anda menghindari pelatihan seluruh model selama beberapa hari) dan Persyaratan Data (akurasi tinggi dapat dicapai dengan ratusan, bukan ribuan, contoh pelatihan).
train.py
TERMINALbash — pytorch-env
> Ready. Click "Run" to execute.
>
TENSOR INSPECTOR Live

Run code to inspect active tensors
Question 1
What is the primary advantage of using a model pre-trained on ImageNet for a new vision task?
It requires less labeled data than training from scratch.
It completely eliminates the need for any training data.
It guarantees 100% accuracy immediately.
Question 2
In a Transfer Learning workflow, which part of the neural network is typically frozen?
The final Output Layer (Classifier Head).
The Convolutional Base (Feature Extractor layers).
The entire network is usually unfrozen.
Question 3
When replacing the classifier head in PyTorch, what parameter must you first determine from the frozen base?
The batch size of the target data.
The input feature size (the output dimensions of the last convolutional layer).
The total number of model parameters.
Challenge: Adapting the Classifier Head
Designing a new classifier for FoodVision.
You load a ResNet model pre-trained on ImageNet. Its last feature layer outputs a vector of size 512. Your 'FoodVision' project has 7 distinct food classes.
Step 1
What is the required Input Feature size for the new, trainable Linear Layer?
Solution:
The Input Feature size must match the output of the frozen base layer.
Size: 512.
Step 2
What is the PyTorch code snippet to create this new classification layer (assuming the output is named `new_layer`)?
Solution:
The output size of 512 is the input, and the class count 7 is the output.
Code: new_layer = torch.nn.Linear(512, 7)
Step 3
What is the required Output Feature size for the new Linear Layer?
Solution:
The Output Feature size must match the number of target classes.
Size: 7.